package com.cyt.reward.service;

import com.cyt.base.model.dto.ReturnResult;
import com.cyt.reward.model.po.RewardStaff;
import com.cyt.reward.model.vo.RewardStaffVo;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.service.BaseService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * 打赏功能-员工管理Service层接口类
 *
 * @author rong yuan
 * @date 2019-7-24 14:21:33
 */
public interface RewardStaffService extends BaseService<RewardStaff> {

    /**
     * 分页查询
     *
     * @param rewardStaffVo 接受参数对象
     * @param pageNum       分页数
     * @param pageSize      每页显示条数
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-7-24 14:21:33
     */
    ReturnResult page(RewardStaffVo rewardStaffVo, int pageNum, int pageSize);

    /**
     * 添加或更新
     *
     * @param rewardStaffVo 参数接受对象
     * @param sysUser       当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-7-24 14:21:33
     */
    ReturnResult addOrUpdate(RewardStaffVo rewardStaffVo, SysUser sysUser);

    /**
     * 根据条件逻辑删除
     *
     * @param rewardStaffVo 参数接受对象
     * @param sysUser       当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-7-24 14:21:33
     */
    ReturnResult remove(RewardStaffVo rewardStaffVo, SysUser sysUser);

    /**
     * 根据条件查询单个对象
     *
     * @param rewardStaffVo 参数接受对象
     * @return RewardStaff
     * @author rong yuan
     * @date 2019/7/25 09:49
     */
    RewardStaff selectOneByCondition(RewardStaffVo rewardStaffVo);

    /**
     * 导入数据
     *
     * @param request 请求对象
     * @param file    文件对象
     * @param catalog 文件保存自定义目录
     * @param update  1、不更新已存在数据，2、更新存在数据
     * @param applyId 应用ID
     * @return ReturnResult
     * @author rong yuan
     * @date 2019/7/26 15:58
     */
    ReturnResult importData(HttpServletRequest request, MultipartFile file, String catalog, String update, String applyId, SysUser sysUser);
}